package n1426;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	static int [] num=new int[101];
	
	static boolean flag=false;
	
	static int n;
	
	static void dfs(int i,int r)
	{
		if(flag||i>100)return;
		
		if(r==0)
		{
			for(int j=0;j<i;j++)
				System.out.print(num[j]);
			System.out.println();
			flag=true;
			return;
		}
		num[i]=1;
		dfs(i+1,(r*10+1)%n);
		if(flag==false)
		{
			num[i]=0;
			dfs(i+1,(r*10)%n);
		}
	}
	
	//鸽笼原理，不同余数不会超过200
	static int[][] list=new int[201][3];
	
	static boolean[] visit=new boolean[201];
	
	
	static void bfs(int n)
	{
		for(int i=0;i<201;i++)visit[i]=false;
		int i=0,count=1;
		list[0][0]=1;//记录余数
		list[0][1]=1;//记录填充值 0 or 1
		list[0][2]=-1; //记录父节点索引
		while(i<count)
		{
			int cur=list[i][0];
			if(cur==0){
				//output
				String str="";
				for(;list[i][2]!=-1;i=list[i][2])
				{
					str=list[i][1]+str;
				}
				System.out.println(1+str);
				return;
			}
			int tr=(cur*10)%n;
			if(visit[tr]==false)
			{
				visit[tr]=true;
				list[count][0]=tr;
				list[count][1]=0;
				list[count][2]=i;
				count++;
			}
			
			tr=(cur*10+1)%n;
			if(visit[tr]==false)
			{
				visit[tr]=true;
				list[count][0]=tr;
				list[count][1]=1;
				list[count][2]=i;
				count++;
			}
			i++;
		}
	}
	
	
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {

		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String line=null;
		while((line=bf.readLine())!=null)
		{
			n=Integer.parseInt(line);
			if(n==0)break;
			flag=false;
			num[0]=1;
			bfs(n);
		}
	}

}
